package poo.figure;

import poo.util.Mat;

public class Rettangolo extends Figura {

	protected double altezza;

	public Rettangolo(double base, double altezza) {
		super(base);
		if (altezza <= 0)
			throw new IllegalArgumentException();
		this.altezza = altezza;
	}

	public Rettangolo(Rettangolo r) {
		super(r.getDimensione());
		this.altezza = altezza;
	}

	public double getBase() {
		return getDimensione();
	}

	public double getAltezza() {
		return altezza;
	}

	public double perimetro() {
		return 2 * getDimensione() + 2 * altezza;
	}// perimetro

	public double area() {
		return getDimensione() * altezza;
	}// area

	public String toString() {
		return "Rettangolo: base= " + getDimensione() + " altezza= " + altezza;
	}// toString

	public boolean equals(Object x) {
		if (!(x instanceof Rettangolo))
			return false;
		if (x == this)
			return true;
		Rettangolo r = (Rettangolo) x;
		return Mat.sufficientementeProssimi(r.getDimensione(),
				this.getDimensione())
				&& Mat.sufficientementeProssimi(r.getAltezza(), this.altezza);
	}// equals

}
